#ifndef __ST7789_H__
#define __ST7789_H__

#include "lcd_dev.h"
#include "board.h"
#include "driver/spi_master.h"
#include "driver/ledc.h"
#include "esp_lcd_types.h"
#include "esp_lcd_panel_io.h"
#include "esp_lcd_panel_vendor.h"
#include "esp_lcd_panel_ops.h"
#include "esp_log.h"
#include "esp_check.h"

struct st7789_config {
    uint16_t width;
    uint16_t height;
    spi_host_device_t host;
    spi_bus_config_t buscfg;
    esp_lcd_panel_io_spi_config_t io_config;
    esp_lcd_panel_dev_config_t panel_config;
    ledc_channel_config_t backlight_channel;
    ledc_timer_config_t backlight_timer;
};

struct st7789_data {
    esp_lcd_panel_handle_t panel_handle;
    esp_lcd_panel_io_handle_t io_handle;
};

#endif /* __ST7789_H__ */
